
const typeService = require('../services/type');

class TypeController {
  async list(req, res) {
    const user_id = req.user._id.toString()
    const result = await typeService.getList(user_id)
    result.map(item => {
      delete item.user_id
      delete item.createdAt
      delete item.updatedAt
      return item
    })
    if(result)
      res.send({ 'state': 0, 'info': result })
    else
      res.send({ 'state': 1, 'info': '获取类型列表错误，请联系系统管理员' })
  }
  async delete(req, res) {
    const { type_id } = req.body;
    const result = await typeService.delete(type_id)
    if(result)
      res.send({ 'state': 0, 'info': '删除类型成功' })
    else
      res.send({ 'state': 1, 'info': '删除类型数据错误，请联系系统管理员' })
  }
  async add(req, res) {
    let { name, type } = req.body;
    if (!name)
      res.send({ 'state': 2, 'info': '类型名不能为空' })
    type = Number(type)
    if (type !== -1 && type !== 1)
      res.send({ 'state': 3, 'info': '类型属性只能为1或-1' })
    const result = await typeService.add({
      name,
      type,
      user_id: req.user._id.toString()
    })
    if(result)
      res.send({ 'state': 0, 'info': '新增类型成功' })
    else
      res.send({ 'state': 1, 'info': '新增类型数据错误，请联系系统管理员' })
  }
}

// 导出 Controller 的实例
module.exports = new TypeController();
